/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package com.gft.bancosimulador.controller;

import com.gft.bancosimulador.beans.Cliente;
import com.gft.bancosimulador.beans.ClienteFisico;
import com.gft.bancosimulador.beans.ClienteJuridico;
import com.gft.bancosimulador.business.ClienteBusiness;
import com.gft.bancosimulador.outros.Sucesso;
import com.gft.bancosimulador.enume.SituacaoCliente;
import com.gft.bancosimulador.exceptions.RegradeNegocioException;
import com.gft.bancosimulador.exceptions.ValidadorCampos;
import com.gft.bancosimulador.views.ClienteView;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;

/**
 *
 * @author aepi
 */
public class ClienteJuridicoController extends ClienteView{
    
    public ClienteJuridicoController(){
        
    }

    @Override
    public void salvar() {
        try {
            ValidadorCampos.validarCamposObrigatorios(txt_NomeCliente, txt_CidadeCliente);
        
        ClienteJuridico novo = new ClienteJuridico();
        this.preencherCliente(novo);
        Sucesso s = ClienteBusiness.getInstance().cadastrarClienteJuridico(novo);
        novo = (ClienteJuridico)s.getConteudo();
        this.mostrarStatus(s);
        } catch (RegradeNegocioException ex) {
            JOptionPane.showMessageDialog(this, ex.getMessage());
        }
    }

        public void consultar(Integer codigo) {
        
    }

    
    @Override
    public void preencherCliente(Cliente cliente){
        super.preencherCliente(cliente);
        ClienteJuridico juridico = (ClienteJuridico) cliente;
        try{
            ValidadorCampos.validarCnpj(txt_CpfCnpjCliente.getText());
        juridico.setDocumento(txt_CpfCnpjCliente.getText());
        juridico.setSituacaoCliente(SituacaoCliente.ATIVO);
        }catch(RegradeNegocioException ex){
            JOptionPane.showMessageDialog(this, ex.getMessage());
        }
    }

    @Override
    protected String getTitulo() {
        return "Salvar Cliente Juridico";
    }

    @Override
    protected String getRotuloIdentificador() {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    @Override
    protected String getFormatoMascaraIdentificador() {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    @Override
    public void bloquear() {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }



    @Override
    public void cancelar() {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    @Override
    public void reativar() {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }
}
